This document presents some basic information that users need to know in
order to use JED effectively.  In addition, read system dependent
documentation for information specific to a particular OS.

Important Fact: (since many users missed this the first time)

   First of all, if you want emacs keybindings, the line
   
     "emacs.sl" evalfile
     
   must be be put in your jed.rc file (See next section).  If you want to
   have edt keybindings, put
   
      "edt.sl" evalfile 
      
   in your jed.rc (.jedrc) file.   It is possible to have both, in which
   case, make sure the emacs file is loaded first.

   Provided you do not unset ^H (control-H), pressing ^H twice pops up 
   a help screen.  See the file help.sl for programming the help function.

Starting Jed.

   Normally, jed is started as : jed filename or jed file_list
   However, jed also takes the following switches:
   
      -n                     do not load jed.rc (.jedrc) file
      -g line_number         goto linenumber
      -l file                load file as slang code
      -f function            execute slang function
      -s string              search for string

Getting Help:

    JED's help functions are bound to ^H by default.  For example, ^HC will
show what function the key carries out, ^HM will get a man page, ^HF will
give help on a particular S-Lang function, etc...  However, some modes use
the ^H key for something else.  For example, if EDT mode is in effect, ^H is
then bound to `bol' which causes the cursor to move to the beginning of the
line.   See edt.sl for information on this.  

    At some point, I will write up a manual for JED.  However, it will be
awhile because JED is still very young (I began writing it in July of 1992)
and is still evolving.  

Startup Files:

   When JED is started up, it tries to load the file `site.sl' from the
   directory pointed to by the the environment variable JED_LIBRARY.  This
   file contains startup information and site dependent defaults.  Then JED
   tries to load the user's personal initialization file from thye user's
   HOME directory.  On unix systems this file must be called `.jedrc' while
   on VMS and MSDOS, it goes by the name jed.rc.  For VMS systems, the HOME
   directory corresponds to the SYS$LOGIN logical name while for the other
   two systems, it corresponds to the HOME environment variable.
   
   See the files slang.txt and custom.jed for more information about these
   files. 

File Types and Sizes:

   JED is a text editor-- this version does not edit binary files.  Lines
   may be of arbitrary length however, they are wrapped at 500 characters
   for display purposes.  It is capable of editing arbitrarily large buffers
   as ong as there is enough memory for the buffer as well as the overhead
   involved.  This editor employs a linked list representation hence the
   overhead can be quite high.

Backup and Autosave Files:

   On UNIX and MSDOS systems, JED creates backup files by appending a `~'
   character to the filename.  The VMS operating system handles backup files
   itself.  JED periodically autosaves its buffers.  On UNIX and MSDOS,
   autosave files are prefixed with the pound sign `#'.  On VMS, they are
   prefixed with `_$'.  The autosave interval may be changed by the user by
   setting the variable MAX_HITS. The default is 300 ``hits'' on the buffer.
   A ``hit'' is defined as a key which MAY change the state of the buffer.
   Cursor movement keys do not cause hits on the buffer.
   
   On UNIX systems, JED catches most of the signals and tries to autosave
   its buffers in the event of a crash or if the phone hangs up.

Status line and Windows:

   JED supports multiple windows.  Each window may contain the same buffer
   or different buffers.  A status line is displayed immediately below each
   window.  The status line contains information such as the JED version
   number, the buffer name, and ``mode''.  In addition, please beware of the
   following indicators: 
     
        `m'  : mark set indicator.  This means a region is being defined
	`d'  : file changed on disk indicator.  This indicates that the 
	       file associated with the buffer is newer than the buffer.
	`s'  : spot pushed indicator
	[Macro]: a macro is being defined.
	[Narrow]: buffer is narrowed to a region of LINES.

Modes:

   Jed supports two internal modes as well as user modes.  The two internal
   modes consist of a ``C'' mode for C Language programming and a ``Wrap''
   mode for ordinary text editing.
   
				--Wrap Mode--

   In this mode, text is wrapped at the column given by the WRAP
   variable.  The default is 78.  The text does not wrap until the cursor
   reaches the right part of the screen and a space is inserted.
   
   Formatting paragraphs:  

   Paragraphs delimiters are: blank lines, lines that have a percent
   character, `%', or a line that has a backslash character `\' in the first
   column.  I do most of my ``word processing'' using TeX or LaTeX and this
   definition is ideally suited for this.
   
   The paragraph is formatted according to the indentation of the current
   line.  If the current line is indented, the paragraph will be given the
   same indentation. 
   
   
				  --C Mode--

   C Mode facilitates the editing of C files.  Much of the latter part of
   the development of the JED editor was done using this mode.  This mode
   may be customized by a judicious choice of the variables C_INDENT and
   C_BRACE as well as the bindings of the curly brace keys `{}'. Experiment
   to find what you like or write your own using the S-Lang interface.
   
Miscellaneous:

   The control G key is special and should not be rebound.  On the IBMPC,
the keyboard interrupt 0x09 is hooked and a quit condition is signaled when
it is pressed.  For this reason, it cannot used in any keybindings.  A
similar statement holds for the other systems.


Finally, if you got this far then I'd appreciate knowing your email address so
that I can put you on a mailing list.  Then you can be notified when new
versions of JED come out etc...  Please email the information to me:

davis@amy.tch.harvard.edu  (internet)
davis@ohstpy (BITNET)

